{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras.preprocessing.image import ImageDataGenerator\n",
    "from keras.models import Sequential\n",
    "from keras.layers.core import Dense,Dropout,Activation,Flatten\n",
    "from keras.layers.convolutional import Convolution3D,MaxPooling3D\n",
    "from keras.layers import LSTM\n",
    "from keras.layers import GRU\n",
    "from keras.layers import Reshape\n",
    "from keras.optimizers import SGD,RMSprop\n",
    "from keras.utils import np_utils,generic_utils\n",
    "from keras.layers import LSTM\n",
    "from keras.optimizers import Adam\n",
    "import os\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import cv2 \n",
    "from keras.regularizers import l2\n",
    "from keras.callbacks import ModelCheckpoint,EarlyStopping\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn import preprocessing\n",
    "import sys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "img_rows,img_cols,img_depth=112,112,38#定义每一帧图片的大小\n",
    "\n",
    "learning_rate=0.0003 #学习率\n",
    "\n",
    "weight_decay=0.0004\n",
    "\n",
    "lstm_output_size = 180\n",
    "\n",
    "merge = True\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "41.0\n",
      "(112, 112, 38)\n",
      "(2, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(4, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(6, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(8, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(10, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(12, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(14, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(16, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(18, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(20, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(22, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(24, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(26, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(28, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(30, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(32, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(34, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(36, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(38, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(40, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(42, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(44, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(46, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(48, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(50, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(52, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(54, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(56, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(58, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(60, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(62, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(64, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(66, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(68, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(70, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(72, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(74, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(76, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(78, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(80, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(82, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(84, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(86, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(88, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(90, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(92, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(94, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(96, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(98, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(100, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(102, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(104, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(106, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(108, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(110, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(112, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(114, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(116, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(118, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(120, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(122, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(124, 112, 112, 38)\n",
      "40.0\n",
      "(112, 112, 38)\n",
      "(126, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(128, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(130, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(132, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(134, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(136, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(138, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(140, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(142, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(144, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(146, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(148, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(150, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(152, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(154, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(156, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(158, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(160, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(162, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(164, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(166, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(168, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(170, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(172, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(174, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(176, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(178, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(180, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(182, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(184, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(186, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(188, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(190, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(192, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(194, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(196, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(198, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(200, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(202, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(204, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(206, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(208, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(210, 112, 112, 38)\n",
      "49.0\n",
      "(112, 112, 38)\n",
      "(212, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(214, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(216, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(218, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(220, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(222, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(224, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(226, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(228, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(230, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(232, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(234, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(236, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(238, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(240, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(242, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(244, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(246, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(248, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(250, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(252, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(254, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(256, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(258, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(260, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(262, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(264, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(266, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(268, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(270, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(272, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(274, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(276, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(278, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(280, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(282, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(284, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(286, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(288, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(290, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(292, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(294, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(296, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(298, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(300, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(302, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(304, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(306, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(308, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(310, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(312, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(314, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(316, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(318, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(320, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(322, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(324, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(326, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(328, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(330, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(332, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(334, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(336, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(338, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(340, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(342, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(344, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(346, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(348, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(350, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(352, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(354, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(356, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(358, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(360, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(362, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(364, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(366, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(368, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(370, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(372, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(374, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(376, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(378, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(380, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(382, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(384, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(386, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(388, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(390, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(392, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(394, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(396, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(398, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(400, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(402, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(404, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(406, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(408, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(410, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(412, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(414, 112, 112, 38)\n",
      "41.0\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(112, 112, 38)\n",
      "(416, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(418, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(420, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(422, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(424, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(426, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(428, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(430, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(432, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(434, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(436, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(438, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(440, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(442, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(444, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(446, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(448, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(450, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(452, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(454, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(456, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(458, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(460, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(462, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(464, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(466, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(468, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(470, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(472, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(474, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(476, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(478, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(480, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(482, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(484, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(486, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(488, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(490, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(492, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(494, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(496, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(498, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(500, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(502, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(504, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(506, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(508, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(510, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(512, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(514, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(516, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(518, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(520, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(522, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(524, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(526, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(528, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(530, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(532, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(534, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(536, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(538, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(540, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(542, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(544, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(546, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(548, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(550, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(552, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(554, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(556, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(558, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(560, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(562, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(564, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(566, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(568, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(570, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(572, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(574, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(576, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(578, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(580, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(582, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(584, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(586, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(588, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(590, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(592, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(594, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(596, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(598, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(600, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(602, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(604, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(606, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(608, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(610, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(612, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(614, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(616, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(618, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(620, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(622, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(624, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(626, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(628, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(630, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(632, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(634, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(636, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(638, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(640, 112, 112, 38)\n",
      "42.0\n",
      "(112, 112, 38)\n",
      "(642, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(644, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(646, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(648, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(650, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(652, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(654, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(656, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(658, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(660, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(662, 112, 112, 38)\n",
      "42.0\n",
      "(112, 112, 38)\n",
      "(664, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(666, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(668, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(670, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(672, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(674, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(676, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(678, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(680, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(682, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(684, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(686, 112, 112, 38)\n",
      "42.0\n",
      "(112, 112, 38)\n",
      "(688, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(690, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(692, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(694, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(696, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(698, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(700, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(702, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(704, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(706, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(708, 112, 112, 38)\n",
      "42.0\n",
      "(112, 112, 38)\n",
      "(710, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(712, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(714, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(716, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(718, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(720, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(722, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(724, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(726, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(728, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(730, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(732, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(734, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(736, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(738, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(740, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(742, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(744, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(746, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(748, 112, 112, 38)\n",
      "40.0\n",
      "(112, 112, 38)\n",
      "(750, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(752, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(754, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(756, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(758, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(760, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(762, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(764, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(766, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(768, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(770, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(772, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(774, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(776, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(778, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(780, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(782, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(784, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(786, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(788, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(790, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(792, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(794, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(796, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(798, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(800, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(802, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(804, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(806, 112, 112, 38)\n",
      "40.0\n",
      "(112, 112, 38)\n",
      "(808, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(810, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(812, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(814, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(816, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(818, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(820, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(822, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(824, 112, 112, 38)\n",
      "41.0\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(112, 112, 38)\n",
      "(826, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(828, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(830, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(832, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(834, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(836, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(838, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(840, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(842, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(844, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(846, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(848, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(850, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(852, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(854, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(856, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(858, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(860, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(862, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(864, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(866, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(868, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(870, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(872, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(874, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(876, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(878, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(880, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(882, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(884, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(886, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(888, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(890, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(892, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(894, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(896, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(898, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(900, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(902, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(904, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(906, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(908, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(910, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(912, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(914, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(916, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(918, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(920, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(922, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(924, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(926, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(928, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(930, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(932, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(934, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(936, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(938, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(940, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(942, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(944, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(946, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(948, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(950, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(952, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(954, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(956, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(958, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(960, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(962, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(964, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(966, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(968, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(970, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(972, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(974, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(976, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(978, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(980, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(982, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(984, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(986, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(988, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(990, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(992, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(994, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(996, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(998, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1000, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1002, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1004, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1006, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1008, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1010, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1012, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1014, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1016, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1018, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1020, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1022, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1024, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1026, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1028, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1030, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1032, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1034, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1036, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1038, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1040, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1042, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1044, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1046, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1048, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1050, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1052, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1054, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1056, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1058, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1060, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1062, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1064, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1066, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1068, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1070, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1072, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1074, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1076, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1078, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1080, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1082, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1084, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1086, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1088, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1090, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1092, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1094, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1096, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1098, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1100, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1102, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1104, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1106, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1108, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1110, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1112, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1114, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1116, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1118, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1120, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1122, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1124, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1126, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1128, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1130, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1132, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1134, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1136, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1138, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1140, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1142, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1144, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1146, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1148, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1150, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1152, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1154, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1156, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1158, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1160, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1162, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1164, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1166, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1168, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1170, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1172, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1174, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1176, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1178, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1180, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1182, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1184, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1186, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1188, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1190, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1192, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1194, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1196, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1198, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1200, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1202, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1204, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1206, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1208, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1210, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1212, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1214, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1216, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1218, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1220, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1222, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1224, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1226, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1228, 112, 112, 38)\n",
      "41.0\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(112, 112, 38)\n",
      "(1230, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1232, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1234, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1236, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1238, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1240, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1242, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1244, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1246, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1248, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1250, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1252, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1254, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1256, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1258, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1260, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1262, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1264, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1266, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1268, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1270, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1272, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1274, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1276, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1278, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1280, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1282, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1284, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1286, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1288, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1290, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1292, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1294, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1296, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1298, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1300, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1302, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1304, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1306, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1308, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1310, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1312, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1314, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1316, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1318, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1320, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1322, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1324, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1326, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1328, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1330, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1332, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1334, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1336, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1338, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1340, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1342, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1344, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1346, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1348, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1350, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1352, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1354, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1356, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1358, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1360, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1362, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1364, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1366, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1368, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1370, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1372, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1374, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1376, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1378, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1380, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1382, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1384, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1386, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1388, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1390, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1392, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1394, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1396, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1398, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1400, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1402, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1404, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1406, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1408, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1410, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1412, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1414, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1416, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1418, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1420, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1422, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1424, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1426, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1428, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1430, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1432, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1434, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1436, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1438, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1440, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1442, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1444, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1446, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1448, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1450, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1452, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1454, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1456, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1458, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1460, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1462, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1464, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1466, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1468, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1470, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1472, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1474, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1476, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1478, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1480, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1482, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1484, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1486, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1488, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1490, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1492, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1494, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1496, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1498, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1500, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1502, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1504, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1506, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1508, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1510, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1512, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1514, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1516, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1518, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1520, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1522, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1524, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1526, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1528, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1530, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1532, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1534, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1536, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1538, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1540, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1542, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1544, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1546, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1548, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1550, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1552, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1554, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1556, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1558, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1560, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1562, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1564, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1566, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1568, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1570, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1572, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1574, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1576, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1578, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1580, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1582, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1584, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1586, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1588, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1590, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1592, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1594, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1596, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1598, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1600, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1602, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1604, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1606, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1608, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1610, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1612, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1614, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1616, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1618, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1620, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1622, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1624, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1626, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1628, 112, 112, 38)\n",
      "41.0\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(112, 112, 38)\n",
      "(1630, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1632, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1634, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1636, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1638, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1640, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1642, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1644, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1646, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1648, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1650, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1652, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1654, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1656, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1658, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1660, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1662, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1664, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1666, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1668, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1670, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1672, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1674, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1676, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1678, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1680, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1682, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1684, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1686, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1688, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1690, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1692, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1694, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1696, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1698, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1700, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1702, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1704, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1706, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1708, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1710, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1712, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1714, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1716, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1718, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1720, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1722, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1724, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1726, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1728, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1730, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1732, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1734, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1736, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1738, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1740, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1742, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1744, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1746, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1748, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1750, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1752, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1754, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1756, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1758, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1760, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1762, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1764, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1766, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1768, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1770, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1772, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1774, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1776, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1778, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1780, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1782, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1784, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1786, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1788, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1790, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1792, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1794, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1796, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1798, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1800, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1802, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1804, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1806, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1808, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1810, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1812, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1814, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1816, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1818, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1820, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1822, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1824, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1826, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1828, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1830, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1832, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1834, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1836, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1838, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1840, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1842, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1844, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1846, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1848, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1850, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1852, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1854, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1856, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1858, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1860, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1862, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1864, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1866, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1868, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1870, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1872, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1874, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1876, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1878, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1880, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1882, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1884, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1886, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1888, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1890, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1892, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1894, 112, 112, 38)\n",
      "40.0\n",
      "(112, 112, 38)\n",
      "(1896, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1898, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1900, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1902, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1904, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1906, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1908, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1910, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1912, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1914, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1916, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1918, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1920, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1922, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1924, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1926, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1928, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1930, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1932, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1934, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1936, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1938, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1940, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1942, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1944, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1946, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1948, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1950, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1952, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1954, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1956, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1958, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1960, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1962, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1964, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1966, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1968, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1970, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1972, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1974, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1976, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1978, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1980, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1982, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1984, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1986, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1988, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1990, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1992, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1994, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1996, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(1998, 112, 112, 38)\n",
      "41.0\n",
      "(112, 112, 38)\n",
      "(2000, 112, 112, 38)\n"
     ]
    }
   ],
   "source": [
    "X_tr = []  # 定义一个数组变量用来存储数据集\n",
    "\n",
    "listing =os.listdir('./HockeyFights/' )  # 导入文件列表\n",
    "\n",
    "for vid in listing:\n",
    "    vid= './HockeyFights/' +vid\n",
    "   \n",
    "    frames =[]  # 创建一个数组，用来存放数据\n",
    "    cap =cv2.VideoCapture(vid)\n",
    "    rames_num=cap.get(7)\n",
    "    print(rames_num)\n",
    "    ret, frame1 = cap.read()\n",
    "\n",
    "    if merge:\n",
    "        frames1 = []  # 创建一个数组，用来存放数据 \n",
    "        prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)\n",
    "        prvs = cv2.GaussianBlur(prvs, (3, 3), 0)\n",
    "\n",
    "    for k in range(38):\n",
    "        ret,frame2 = cap.read()\n",
    "        gray = cv2.resize(frame2 ,(img_rows ,img_cols),interpolation=cv2.INTER_AREA)  # 将视频的每一帧重新定义大小，INTER_AREA表示使用像素区域关系进行重采样\n",
    "        gray = cv2.cvtColor(gray ,cv2.COLOR_BGR2GRAY)\n",
    "        frames.append(gray)  # 将转换完的frame放入frames数组\n",
    "\n",
    "        if merge:\n",
    "            now = cv2.cvtColor(frame2, cv2.COLOR_RGB2GRAY)\n",
    "            now = cv2.GaussianBlur(now, (3, 3), 0)\n",
    "            hsv = np.zeros_like(frame2)\n",
    "            hsv[..., 1] = 255\n",
    "\n",
    "            # CALCULATE FLOW\n",
    "            flow = cv2.calcOpticalFlowFarneback(prvs, now, None, 0.5, 3, 15, 3, 5, 1.2, 0)\n",
    "            mag, ang = cv2.cartToPolar(flow[..., 0], flow[..., 1])\n",
    "            # x方向：flow[...,0]\n",
    "            # y方向：flow[...,1]\n",
    "            hsv[..., 0] = ang * 180 / np.pi / 2\n",
    "            hsv[..., 2] = cv2.normalize(mag, None, 0, 255, cv2.NORM_MINMAX)\n",
    "            rgb = cv2.cvtColor(hsv, cv2.COLOR_HSV2RGB)\n",
    "\n",
    "            #cv2.imshow('frame2', rgb)\n",
    "\n",
    "            rgb = cv2.resize(rgb, (img_rows, img_cols), interpolation=cv2.INTER_AREA)\n",
    "            gray = cv2.cvtColor(rgb, cv2.COLOR_RGB2GRAY)\n",
    "\n",
    "            frames1.append(gray)  # 将转换完的frame放入frames数组\n",
    "\n",
    "            prvs = now\n",
    "\n",
    "\n",
    "        if cv2.waitKey(1 )&0xFF ==ord('q')  :  # waitKey(1)中的数字代表等待按键输入之前的无效时间,单位为毫秒,在这个时间段内按键'q'不会被记录,在这之后按键才会被记录\n",
    "            break\n",
    "\n",
    "    cap.release()  # 关闭视频文件\n",
    "    cv2.destroyAllWindows()  # 关闭打开的windows窗口\n",
    "\n",
    "    input =np.array(frames)  # 将多个一维的frames数组，变成一个多维数组\n",
    "    ipt =np.rollaxis(np.rollaxis(input ,2 ,0) ,2 ,0)\n",
    "    print(ipt.shape)\n",
    "    ipt_1 = ipt[:,:,:19]\n",
    "    ipt_2 = ipt[:,:,19:]\n",
    "    # 程序运行np.rollaxis(a,2,0)时,讲轴2滚动到了轴0前面,其他轴相对2轴位置不变(start默认0),数组下标排序由0,1,2变成了1,2,0\n",
    "    # print(ipt.shape)\n",
    "    if merge:\n",
    "        input1 = np.array(frames1)  # 将多个一维的frames数组，变成一个多维数组\n",
    "        ipt1 = np.rollaxis(np.rollaxis(input1, 2, 0), 2, 0)\n",
    "        ipt1_1 = ipt1[:, :, :19]\n",
    "        ipt1_2 = ipt1[:, :, 19:]\n",
    "        #print(np.shape(ipt1_1),np.shape(ipt1_2))\n",
    "        ipt_1 = np.concatenate((ipt_1,ipt1_1),-1)\n",
    "        ipt_2 = np.concatenate((ipt_2,ipt1_2),-1)\n",
    "        #print(np.shape(ipt_1),np.shape(ipt_2))\n",
    "\n",
    "    X_tr.append(ipt_1)\n",
    "    X_tr.append(ipt_2)\n",
    "    print(np.shape(X_tr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2000\n",
      "WARNING:tensorflow:From C:\\Users\\Administrator\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\framework\\op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Colocations handled automatically by placer.\n",
      "WARNING:tensorflow:From C:\\Users\\Administrator\\Anaconda3\\lib\\site-packages\\keras\\backend\\tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "conv3d_1 (Conv3D)            (None, 1, 112, 112, 64)   65728     \n",
      "_________________________________________________________________\n",
      "max_pooling3d_1 (MaxPooling3 (None, 1, 56, 56, 32)     0         \n",
      "_________________________________________________________________\n",
      "conv3d_2 (Conv3D)            (None, 1, 56, 56, 128)    110720    \n",
      "_________________________________________________________________\n",
      "max_pooling3d_2 (MaxPooling3 (None, 1, 28, 28, 64)     0         \n",
      "_________________________________________________________________\n",
      "reshape_1 (Reshape)          (None, 784, 64)           0         \n",
      "_________________________________________________________________\n",
      "gru_1 (GRU)                  (None, 784, 128)          74112     \n",
      "_________________________________________________________________\n",
      "flatten_1 (Flatten)          (None, 100352)            0         \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 512)               51380736  \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 100)               51300     \n",
      "_________________________________________________________________\n",
      "dropout_2 (Dropout)          (None, 100)               0         \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 2)                 202       \n",
      "=================================================================\n",
      "Total params: 51,682,798\n",
      "Trainable params: 51,682,798\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "WARNING:tensorflow:From C:\\Users\\Administrator\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\ops\\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use tf.cast instead.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:78: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 1200 samples, validate on 400 samples\n",
      "Epoch 1/1500\n",
      "1200/1200 [==============================] - 18s 15ms/step - loss: 1.3758 - acc: 0.5975 - val_loss: 0.9338 - val_acc: 0.8175\n",
      "Epoch 2/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.7979 - acc: 0.8450 - val_loss: 0.6707 - val_acc: 0.8775\n",
      "Epoch 3/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.6630 - acc: 0.8867 - val_loss: 0.5908 - val_acc: 0.8975\n",
      "Epoch 4/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.5819 - acc: 0.9058 - val_loss: 0.5462 - val_acc: 0.9025\n",
      "Epoch 5/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.5212 - acc: 0.9200 - val_loss: 0.5016 - val_acc: 0.9150\n",
      "Epoch 6/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.4853 - acc: 0.9275 - val_loss: 0.4745 - val_acc: 0.9200\n",
      "Epoch 7/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.4388 - acc: 0.9408 - val_loss: 0.4437 - val_acc: 0.9275\n",
      "Epoch 8/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.4065 - acc: 0.9442 - val_loss: 0.4369 - val_acc: 0.9300\n",
      "Epoch 9/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.3783 - acc: 0.9467 - val_loss: 0.4376 - val_acc: 0.9275\n",
      "Epoch 10/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.3533 - acc: 0.9558 - val_loss: 0.4213 - val_acc: 0.9225\n",
      "Epoch 11/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.3432 - acc: 0.9575 - val_loss: 0.4030 - val_acc: 0.9400\n",
      "Epoch 12/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.3127 - acc: 0.9583 - val_loss: 0.3862 - val_acc: 0.9375\n",
      "Epoch 13/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.2922 - acc: 0.9708 - val_loss: 0.3861 - val_acc: 0.9425\n",
      "Epoch 14/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.2769 - acc: 0.9700 - val_loss: 0.3969 - val_acc: 0.9375\n",
      "Epoch 15/1500\n",
      "1200/1200 [==============================] - 12s 10ms/step - loss: 0.2756 - acc: 0.9617 - val_loss: 0.3846 - val_acc: 0.9250\n",
      "Epoch 16/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.2642 - acc: 0.9733 - val_loss: 0.3776 - val_acc: 0.9475\n",
      "Epoch 17/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.2421 - acc: 0.9725 - val_loss: 0.3865 - val_acc: 0.9350\n",
      "Epoch 18/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.2207 - acc: 0.9817 - val_loss: 0.3463 - val_acc: 0.9475\n",
      "Epoch 19/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.2176 - acc: 0.9817 - val_loss: 0.3719 - val_acc: 0.9375\n",
      "Epoch 20/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1987 - acc: 0.9842 - val_loss: 0.4072 - val_acc: 0.9225\n",
      "Epoch 21/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1820 - acc: 0.9925 - val_loss: 0.3497 - val_acc: 0.9400\n",
      "Epoch 22/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1714 - acc: 0.9892 - val_loss: 0.3650 - val_acc: 0.9350\n",
      "Epoch 23/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1641 - acc: 0.9933 - val_loss: 0.3447 - val_acc: 0.9400\n",
      "Epoch 24/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1598 - acc: 0.9908 - val_loss: 0.4498 - val_acc: 0.9300\n",
      "Epoch 25/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1617 - acc: 0.9875 - val_loss: 0.3441 - val_acc: 0.9450\n",
      "Epoch 26/1500\n",
      "1200/1200 [==============================] - 12s 10ms/step - loss: 0.1427 - acc: 0.9975 - val_loss: 0.3666 - val_acc: 0.9450\n",
      "Epoch 27/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1306 - acc: 0.9983 - val_loss: 0.3817 - val_acc: 0.9350\n",
      "Epoch 28/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1279 - acc: 0.9975 - val_loss: 0.3619 - val_acc: 0.9425\n",
      "Epoch 29/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1221 - acc: 0.9983 - val_loss: 0.3628 - val_acc: 0.9425\n",
      "Epoch 30/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1172 - acc: 0.9983 - val_loss: 0.3832 - val_acc: 0.9425\n",
      "Epoch 31/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1123 - acc: 1.0000 - val_loss: 0.3848 - val_acc: 0.9500\n",
      "Epoch 32/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1057 - acc: 1.0000 - val_loss: 0.3828 - val_acc: 0.9500\n",
      "Epoch 33/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1034 - acc: 0.9992 - val_loss: 0.3511 - val_acc: 0.9475\n",
      "Epoch 34/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0998 - acc: 0.9992 - val_loss: 0.3717 - val_acc: 0.9450\n",
      "Epoch 35/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1196 - acc: 0.9908 - val_loss: 0.3162 - val_acc: 0.9400\n",
      "Epoch 36/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1095 - acc: 0.9942 - val_loss: 0.3301 - val_acc: 0.9525\n",
      "Epoch 37/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.1069 - acc: 0.9958 - val_loss: 0.3476 - val_acc: 0.9450\n",
      "Epoch 38/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0987 - acc: 0.9983 - val_loss: 0.3437 - val_acc: 0.9525\n",
      "Epoch 39/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0974 - acc: 0.9983 - val_loss: 0.3442 - val_acc: 0.9450\n",
      "Epoch 40/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0937 - acc: 0.9983 - val_loss: 0.3544 - val_acc: 0.9500\n",
      "Epoch 41/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0909 - acc: 0.9983 - val_loss: 0.3802 - val_acc: 0.9550\n",
      "Epoch 42/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0862 - acc: 1.0000 - val_loss: 0.3631 - val_acc: 0.9550\n",
      "Epoch 43/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0836 - acc: 1.0000 - val_loss: 0.3595 - val_acc: 0.9550\n",
      "Epoch 44/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0807 - acc: 1.0000 - val_loss: 0.3386 - val_acc: 0.9425\n",
      "Epoch 45/1500\n",
      "1200/1200 [==============================] - 11s 9ms/step - loss: 0.0771 - acc: 1.0000 - val_loss: 0.3454 - val_acc: 0.9500\n",
      "400/400 [==============================] - 2s 4ms/step\n",
      "Test loss: 0.2081610456109047\n",
      "Test accuracy: 0.965\n"
     ]
    },
    {
     "ename": "PermissionError",
     "evalue": "[Errno 13] Permission denied: 'loss_curve.pdf'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mPermissionError\u001b[0m                           Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-5-37ebc996a214>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m    101\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Epochs'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    102\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'train'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'val'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mloc\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'upper right'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 103\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msavefig\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"loss_curve.pdf\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    104\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    105\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\matplotlib\\pyplot.py\u001b[0m in \u001b[0;36msavefig\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m    714\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0msavefig\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    715\u001b[0m     \u001b[0mfig\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgcf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 716\u001b[1;33m     \u001b[0mres\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msavefig\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    717\u001b[0m     \u001b[0mfig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdraw_idle\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m   \u001b[1;31m# need this if 'transparent=True' to reset colors\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    718\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mres\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\matplotlib\\figure.py\u001b[0m in \u001b[0;36msavefig\u001b[1;34m(self, fname, transparent, **kwargs)\u001b[0m\n\u001b[0;32m   2178\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpatch\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_visible\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mframeon\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2179\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2180\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprint_figure\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2181\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2182\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mframeon\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\matplotlib\\backend_bases.py\u001b[0m in \u001b[0;36mprint_figure\u001b[1;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, **kwargs)\u001b[0m\n\u001b[0;32m   2080\u001b[0m                     \u001b[0morientation\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0morientation\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2081\u001b[0m                     \u001b[0mbbox_inches_restore\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0m_bbox_inches_restore\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2082\u001b[1;33m                     **kwargs)\n\u001b[0m\u001b[0;32m   2083\u001b[0m             \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2084\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0mbbox_inches\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mrestore_bbox\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\matplotlib\\backends\\backend_pdf.py\u001b[0m in \u001b[0;36mprint_pdf\u001b[1;34m(self, filename, dpi, bbox_inches_restore, metadata, **kwargs)\u001b[0m\n\u001b[0;32m   2494\u001b[0m             \u001b[0mfile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfilename\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_file\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2495\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2496\u001b[1;33m             \u001b[0mfile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mPdfFile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetadata\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2497\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2498\u001b[0m             \u001b[0mfile\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnewPage\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mwidth\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mheight\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\matplotlib\\backends\\backend_pdf.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, filename, metadata)\u001b[0m\n\u001b[0;32m    430\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moriginal_file_like\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    431\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtell_base\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 432\u001b[1;33m         \u001b[0mfh\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mopened\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_filehandle\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"wb\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreturn_opened\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    433\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mopened\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    434\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\matplotlib\\cbook\\__init__.py\u001b[0m in \u001b[0;36mto_filehandle\u001b[1;34m(fname, flag, return_opened, encoding)\u001b[0m\n\u001b[0;32m    430\u001b[0m             \u001b[0mfh\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbz2\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mBZ2File\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mflag\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    431\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 432\u001b[1;33m             \u001b[0mfh\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mflag\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mencoding\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    433\u001b[0m         \u001b[0mopened\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    434\u001b[0m     \u001b[1;32melif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'seek'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mPermissionError\u001b[0m: [Errno 13] Permission denied: 'loss_curve.pdf'"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "X_tr_array=np.array(X_tr)#将所有的数据整合成一个数组\n",
    "num_samples=len(X_tr_array)#数据的总量（以15帧视频为一个完整的数据）\n",
    "print(num_samples)\n",
    "\n",
    "label=np.ones((num_samples),dtype=int)#将所有数据的标签都设置成1\n",
    "label[0:1000]=0    #对每个分类做标签\n",
    "label[1000:]=1  #对每个分类做标签\n",
    "\n",
    "train_data=[X_tr_array,label] #数据的格式是有数组和标注组成的\n",
    "\n",
    "(X_train,y_train)=(train_data[0],train_data[1])\n",
    "\n",
    "train_set = np.zeros((num_samples, 1, img_rows,img_cols,img_depth))\n",
    "\n",
    "for h in range(num_samples):\n",
    "    train_set[h][0][:][:][:]=X_train[h,:,:,:]\n",
    "\n",
    "#train_set = np.expand_dims(X_train, axis=1)\n",
    "patch_size = img_depth  #以30张图片为一个完整输入数据\n",
    "batch_size = 128\n",
    "nb_classes = 2   #所有视频总共分为6种行为\n",
    "nb_epoch =1500    #总共进行200次评估\n",
    "\n",
    "# convert class vectors to binary class matrices\n",
    "Y_train = np_utils.to_categorical(y_train, nb_classes) #将整型标签转为onehot类型数据\n",
    "\n",
    "\n",
    "# number of convolutional filters to use at each layer\n",
    "nb_filters = [32, 32]\n",
    "\n",
    "# level of pooling to perform at each layer (POOL x POOL)\n",
    "nb_pool = [3, 3]\n",
    "\n",
    "# level of convolution to perform at each layer (CONV x CONV)\n",
    "nb_conv = [5,5]\n",
    "\n",
    "# Pre-processing\n",
    "train_set = train_set.astype('float32') #将train_set转换成浮点类型\n",
    "train_set -= np.mean(train_set) #图像的去均值操作，去掉图片中一些没用的信息，如亮度等，突出要识别的信息\n",
    "train_set /=np.max(train_set) #数据的归一化处理，保证所有的数据归一化之后都在0—1之间\n",
    "\n",
    "\n",
    "\n",
    "# Define model\n",
    "\n",
    "model = Sequential()\n",
    "model.add(Convolution3D(64,kernel_size=(3,3,3),strides=(1,1,1),activation='relu',padding='same',input_shape=(1,img_rows,img_cols,patch_size),\n",
    "                       kernel_regularizer=l2(weight_decay)))\n",
    "model.add(MaxPooling3D(pool_size=(2,2,2),strides=None,padding='valid',data_format='channels_first'))\n",
    "model.add(Convolution3D(128,kernel_size=(3,3,3),strides=(1,1,1),activation='relu',padding='same',kernel_regularizer=l2(weight_decay)))\n",
    "model.add(MaxPooling3D(pool_size=(2,2,2),strides=None,padding='valid',data_format='channels_first'))\n",
    "model.add(Reshape((784,64)))\n",
    "\n",
    "model.add(GRU(128,activation='tanh',return_sequences=True))\n",
    "model.add(Flatten())\n",
    "model.add(Dense(512,activation='relu',kernel_regularizer=l2(weight_decay)))\n",
    "model.add(Dropout(0.2))\n",
    "model.add(Dense(100,activation='relu',kernel_regularizer=l2(weight_decay)))\n",
    "model.add(Dropout(0.2))\n",
    "model.add(Dense(nb_classes,activation='softmax'))\n",
    "adam=Adam(lr=learning_rate)\n",
    "model.summary()\n",
    "model.compile(optimizer=adam,loss='categorical_crossentropy',metrics=['accuracy'])\n",
    "\n",
    "# Split the data\n",
    "# train:val:test = 6:2:2\n",
    "X_train_new, X_test_new, y_train_new,y_test_new =  train_test_split(train_set, Y_train, test_size=0.2, random_state=42)\n",
    "X_train_new, X_val_new, y_train_new,y_val_new =  train_test_split(X_train_new, y_train_new, test_size=0.25, random_state=7)\n",
    "\n",
    "\n",
    "# checkpoint\n",
    "checkpoint = ModelCheckpoint('model.h5', monitor='acc', verbose=0, save_best_only=True, mode='max')#保存最好的模型\n",
    "earlystop = EarlyStopping(patience=10, min_delta=1e-10) #早停\n",
    "callbacks_list = [checkpoint, earlystop] \n",
    "\n",
    "# Train the model\n",
    "hist = model.fit(X_train_new, y_train_new, validation_data=(X_val_new,y_val_new),callbacks=callbacks_list,\n",
    "          batch_size=batch_size,nb_epoch = nb_epoch,shuffle=True)\n",
    "#训练模型，训练集是X_train_new，答案是y_train_new，validation_data代表的测试集，shuffle代表是否打乱顺序重新组成训练集和测试集\n",
    "\n",
    "\n",
    "\n",
    "# Evaluate the model\n",
    "score = model.evaluate(X_test_new, y_test_new, batch_size=batch_size) #测试集的得分就是最终的评估标准\n",
    "print('Test loss:', score[0])\n",
    "print('Test accuracy:', score[1])\n",
    "\n",
    "\n",
    "# Plot the results\n",
    "train_loss = hist.history['loss']\n",
    "val_loss = hist.history['val_loss']\n",
    "train_acc = hist.history['acc']\n",
    "val_acc = hist.history['val_acc']\n",
    "\n",
    "plt.figure(figsize=(7,7))\n",
    "plt.grid()\n",
    "plt.plot(train_loss)\n",
    "plt.plot(val_loss)\n",
    "plt.ylabel('Loss')\n",
    "plt.title('train_loss vs val_loss')\n",
    "plt.xlabel('Epochs')\n",
    "plt.legend(['train', 'val'], loc='upper right')\n",
    "plt.savefig(\"loss_curve.pdf\")\n",
    "plt.show()\n",
    "\n",
    "plt.figure(figsize=(7,7))\n",
    "plt.ylim(0,1.1)\n",
    "plt.grid()\n",
    "plt.plot(train_acc)\n",
    "plt.plot(val_acc)\n",
    "plt.ylabel('Accuracy')\n",
    "plt.xlabel('Epochs')\n",
    "plt.title('train_acc vs val_acc')\n",
    "plt.legend(['train', 'val'])\n",
    "plt.savefig(\"acc_curve.pdf\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the results\n",
    "train_loss = hist.history['loss']\n",
    "val_loss = hist.history['val_loss']\n",
    "train_acc = hist.history['acc']\n",
    "val_acc = hist.history['val_acc']\n",
    "\n",
    "plt.figure(figsize=(7,7))\n",
    "plt.grid()\n",
    "plt.plot(train_loss)\n",
    "plt.plot(val_loss)\n",
    "plt.ylabel('Loss')\n",
    "plt.title('train_loss vs val_loss')\n",
    "plt.xlabel('Epochs')\n",
    "plt.legend(['train', 'val'], loc='upper right')\n",
    "plt.savefig(\"loss_curve1.pdf\")\n",
    "plt.show()\n",
    "\n",
    "plt.figure(figsize=(7,7))\n",
    "plt.ylim(0,1.1)\n",
    "plt.grid()\n",
    "plt.plot(train_acc)\n",
    "plt.plot(val_acc)\n",
    "plt.ylabel('Accuracy')\n",
    "plt.xlabel('Epochs')\n",
    "plt.title('train_acc vs val_acc')\n",
    "plt.legend(['train', 'val'])\n",
    "plt.savefig(\"acc_curve1.pdf\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "400/400 [==============================] - 2s 4ms/step\n",
      "Test loss: 0.2081610456109047\n",
      "Test accuracy: 0.965\n"
     ]
    }
   ],
   "source": [
    "# Evaluate the model\n",
    "score = model.evaluate(X_test_new, y_test_new, batch_size=batch_size) #测试集的得分就是最终的评估标准\n",
    "print('Test loss:', score[0])\n",
    "print('Test accuracy:', score[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
